1 Summary of achievements to-date




2. Map of MPC beneficiaries and collective/reception centres

As of March 17 2023, a total of 308,467 persons or 64,846 families have been reached by MPC interventions.

A total of USD 9,391,450 has been disbursed by 14 implementing agencies across 22 sub-districts.

Only beneficiaries who have received at least USD 100/family/month have been included. Additionally, current achievement reporting has yet to include the collective sites, only information on communities, so it is not clear to what extent needs have been met in these centres. This will be corrected in revised 4W template.


Data on cash response extracted from FSL earthquake tracker on March 17 2023. Data on collective centres extracted from March 15 2023.



2.1 Geographic breakdown of beneficiaries



2.2 UNHCR site tracker – searchable table




3. Cash response actors

In the scatterplot below, each point is a single cash working group partner. The x-axis indicates the number of beneficiaries reached per agency and the y-axis indicates the number of communities (admin4) reached.

From the scatterplot, we may split partners into two groups – those with below 10,000 beneficiaries and those with more



3.1 Beneficiaries and geographic reach



3.2 Reach and footprint of cash response actors


USD 9,391,450 has been distributed across 111 communities and 22 sub-districts in NW Syria.



3.3 USD disbursed by partner


LS0tDQp0aXRsZTogIk5vcnRod2VzdCBTeXJpYSBDYXNoIFdvcmtpbmcgR3JvdXAgcmVwb3J0IG9uIG11bHRpcHVycG9zZSBjYXNoIg0KZGF0ZTogICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMNCiAgICB0aGVtZTogcmVhZGFibGUNCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogNA0KICAgIHRvY19mbG9hdDogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiBubw0KICAgIGNvbGxhcHNlZDogbm8NCmFsd2F5c19hbGxvd19odG1sOiB5ZXMNCi0tLQ0KDQpgYGB7Y3NzLCBlY2hvPUZBTFNFfQ0KDQojVE9DOjpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgZGlzcGxheTogYmxvY2s7DQogIGhlaWdodDogNzBweDsNCiAgbWFyZ2luOiAyZW0gMjBweCA0MHB4IDIwcHg7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiTldTLUNXRyBsb2dvLlBORyIpOw0KICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47DQogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7DQogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQp9DQpgYGANCg0KYGBgez1odG1sfQ0KPHN0eWxlPg0KICAgIGJvZHkgLm1haW4tY29udGFpbmVyIHsNCiAgICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7DQogICAgfQ0KPC9zdHlsZT4NCmBgYA0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSwgZmlnLndpZHRoPTksIG1lc3NhZ2UgPSBGQUxTRSwgd2FybmluZz1GQUxTRSkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGx1YnJpZGF0ZSkNCmxpYnJhcnkoc3RyaW5naSkNCmxpYnJhcnkocGFuZGVyKQ0KbGlicmFyeShqYW5pdG9yKQ0KbGlicmFyeShzY2FsZXMpDQpsaWJyYXJ5KG1hZ3JpdHRyKQ0KbGlicmFyeSh2aXJpZGlzKQ0KbGlicmFyeShwYXRjaHdvcmspDQpsaWJyYXJ5KERUKQ0KbGlicmFyeShzZikNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShmbGV4dGFibGUpDQpsaWJyYXJ5KGdncmFzdHIpDQpsaWJyYXJ5KGh0bWx3aWRnZXRzKQ0KDQp0aGVtZV9zZXQodGhlbWVfbGlnaHQoKSkNCg0KIyBkaXNhYmxpbmcgc2NpZW50aWZpYyBub3RhdGlvbg0Kb3B0aW9ucyhzY2lwZW4gPSAxMDApDQoNCiMgcGFuZGVyIHRhYmxlcyBhbGwgaW4gb25lIHJvdw0KcGFuZGVyT3B0aW9ucygndGFibGUuc3BsaXQudGFibGUnLCBJbmYpDQoNCiMgcGFuZGVyIHRob3VzYW5kcyBzZXBhcmF0b3INCnBhbmRlck9wdGlvbnMoImJpZy5tYXJrIiwgIiwiKQ0KDQojIHJlcGxhY2UgDQpvcHRzIDwtIG9wdGlvbnMoa25pdHIua2FibGUuTkEgPSAiIikNCg0KYCVvdXQlYCA8LSBOZWdhdGUoYCVpbiVgKQ0KDQojIGZ1bmN0aW9uIGZvciB0cmFuc3Bvc2luZyBkZg0KdHJhbnNwb3NlX2RmIDwtIGZ1bmN0aW9uKGRmKSB7DQogIHRfZGYgPC0gZGF0YS50YWJsZTo6dHJhbnNwb3NlKGRmKQ0KICBjb2xuYW1lcyh0X2RmKSA8LSByb3duYW1lcyhkZikNCiAgcm93bmFtZXModF9kZikgPC0gY29sbmFtZXMoZGYpDQogIHRfZGYgPC0gdF9kZiAlPiUNCiAgICB0aWJibGU6OnJvd25hbWVzX3RvX2NvbHVtbiguZGF0YSA9IC4pICU+JQ0KICAgIHRpYmJsZTo6YXNfdGliYmxlKC4pDQogIHJldHVybih0X2RmKQ0KfQ0KDQojIGZ1bmN0aW9uIGJlbmVmaWNpYXJ5IHN1bW1hcmllcw0Kc3VtX2JlbiA8LSBmdW5jdGlvbihkZiwgY29sdW1uX3Zhcil7DQogIA0KICBjb2x1bW5fdmFyIDwtIGVucXVvKGNvbHVtbl92YXIpDQogIA0KICBkZiAlPiUNCiAgICBncm91cF9ieSghIWNvbHVtbl92YXIpICU+JSAjIG11c3QgYWRkIGJhbmctYmFuZw0KICAgIHN1bW1hcmlzZShiZW5lZmljaWFyaWVzID0gc3VtKG5ld19iZW5lZmljaWFyaWVzLCBuYS5ybSA9IFRSVUUpKSAlPiUgDQogICAgYXJyYW5nZShkZXNjKGJlbmVmaWNpYXJpZXMpKQ0KICAgIA0KfQ0KDQojIGZ1bmN0aW9uIGJlbmVmaWNpYXJ5IHN1bW1hcmllcywgMiBncm91cGVkIHZhcmlhYmxlcw0Kc3VtX2JlbjIgPC0gZnVuY3Rpb24oZGYsIGNvbHVtbl92YXIxLCBjb2x1bW5fdmFyMil7DQogIA0KICBjb2x1bW5fdmFyMSA8LSBlbnF1byhjb2x1bW5fdmFyMSkNCiAgY29sdW1uX3ZhcjIgPC0gZW5xdW8oY29sdW1uX3ZhcjIpDQogIA0KICBkZiAlPiUNCiAgICBncm91cF9ieSghIWNvbHVtbl92YXIxLCAhIWNvbHVtbl92YXIyKSAlPiUgIyBtdXN0IGFkZCBiYW5nLWJhbmcNCiAgICBzdW1tYXJpc2UoYmVuZWZpY2lhcmllcyA9IHN1bShuZXdfYmVuZWZpY2lhcmllcywgbmEucm0gPSBUUlVFKSwgLmdyb3VwcyA9ICJkcm9wIikNCiAgICANCn0NCg0KIyBzY2FsaW5nIGZ1bmN0aW9ucyANCnJhbmdlMDEgPC0gZnVuY3Rpb24oeCl7KHgtbWluKHgpKS8obWF4KHgpLW1pbih4KSl9DQpyYW5nZV93bmEgPC0gZnVuY3Rpb24oeCl7KHgtbWluKHgsIG5hLnJtID0gVFJVRSkpLyhtYXgoeCwgbmEucm0gPSBUUlVFKS1taW4oeCwgbmEucm0gPSBUUlVFKSl9DQoNCiNtb2RlIGZ1bmN0aW9uIA0KbW9kZSA8LSBmdW5jdGlvbih4KSB7DQogIHV4IDwtIHVuaXF1ZSh4KQ0KICB1eFt3aGljaC5tYXgodGFidWxhdGUobWF0Y2goeCwgdXgpKSldDQp9DQoNCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGRldj0icG5nIikNCmBgYA0KDQpgYGB7ciBkYXRhfQ0KcGNvZGUzX3NoYXBlIDwtIA0KICBzdF9yZWFkKCIuL2RhdGEvc3lyX2FkbWJuZGFfdW5jc191bm9jaGFfMjAyMDEyMTcvc3lyX2FkbWJuZGFfYWRtM191bmNzX3Vub2NoYV8yMDIwMTIxNy5zaHAiLCANCiAgICAgICAgICBxdWlldCA9IFRSVUUpDQoNCmxvY2F0aW9ucyA8LSByZWFkX2V4Y2VsKCIuL2RhdGEvTG9jYXRpb25zLnhsc3giKSAlPiUgDQogIGNsZWFuX25hbWVzKCkNCg0KZnNsIDwtIHJlYWRfY3N2KCIuL2RhdGEvZm9yX3JlcG9ydC9mc2wuY3N2IikgJT4lIA0KICBtdXRhdGUocGFydG5lcl9jb2RlID0gaWZlbHNlKGlzLm5hKHBhcnRuZXJfY29kZSksICJ0ZW1wXzEiLCBwYXJ0bmVyX2NvZGUpKQ0KDQpzaXRlcyA8LSByZWFkX2NzdigiLi9kYXRhL2Zvcl9yZXBvcnQvc2l0ZXMuY3N2IikNCg0KcmVtb3ZlX3NpdGVzIDwtIHJlYWRfY3N2KCIuL2RhdGEvZm9yX3JlcG9ydC9zaXRlc19sb2NhdGlvbnNfZnNsLmNzdiIpICU+JQ0KICBmaWx0ZXIoIWlzLm5hKGxvbmdpdHVkZV94KSAmICFpcy5uYShsYXRpdHVkZV95KSkgJT4lIA0KICBzdF9hc19zZihjb29yZHMgPSBjKCJsb25naXR1ZGVfeCIsICJsYXRpdHVkZV95IiksIGNycyA9IDQzMjYpICU+JQ0KICBzdF90cmFuc2Zvcm0oc3RfY3JzKHBjb2RlM19zaGFwZSkpICU+JSANCiAgbXV0YXRlKGludGVyc2VjdGlvbiA9IGFzLmludGVnZXIoc3RfaW50ZXJzZWN0cyhnZW9tZXRyeSwgcGNvZGUzX3NoYXBlKSksIA0KICAgICAgICAgYXJlYSA9IGlmZWxzZShpcy5uYShpbnRlcnNlY3Rpb24pLCAiIiwgcGNvZGUzX3NoYXBlJEFETTNfUENPREVbaW50ZXJzZWN0aW9uXSkpICU+JQ0KICBmaWx0ZXIoaXMubmEoaW50ZXJzZWN0aW9uKSkgDQoNCnNpdGVzX2xvY2F0aW9uc19mc2wgPC0gcmVhZF9jc3YoIi4vZGF0YS9mb3JfcmVwb3J0L3NpdGVzX2xvY2F0aW9uc19mc2wuY3N2IikgJT4lIA0KICBhbnRpX2pvaW4ocmVtb3ZlX3NpdGVzLCBieSA9IGMoInNpdGVfbmFtZSIpKQ0KDQoNCg0KYGBgICANCg0KPGJyPjxicj48YnI+DQoNCiMgMSBTdW1tYXJ5IG9mIGFjaGlldmVtZW50cyB0by1kYXRlIA0KDQpgYGB7ciBzdW1tYXJ5IHRhYmxlfQ0KZnNsICU+JSANCiAgZmlsdGVyKGFjdGl2aXR5ID09ICJDYXNoIFJlc3BvbnNlIiAmIHBsYW5uZWRfaW1wbGVtZW50ZWQgPT0gIkltcGxlbWVudGVkIikgJT4lDQogIG11dGF0ZSh1c2RfdG90YWwgPSBmYW1pbGllcyAqIHF1YW50aXR5KSAlPiUgDQogIGdyb3VwX2J5KGdvdmVybm9yYXRlLCBkaXN0cmljdCkgJT4lIA0KICBzdW1tYXJpc2UocGFydG5lcnMgPSBuX2Rpc3RpbmN0KHBhcnRuZXJfY29kZSksIA0KICAgICAgICAgICAgY29tbXVuaXRpZXMgPSBuX2Rpc3RpbmN0KGFkbWluNHBjb2RlKSwgDQogICAgICAgICAgICBob3VzZWhvbGRzID0gc3VtKGZhbWlsaWVzLCBuYS5ybSA9IFRSVUUpLCANCiAgICAgICAgICAgIGJlbmVmaWNpYXJpZXMgPSBzdW0oYmVuZWZpY2lhcmllcywgbmEucm0gPSBUUlVFKSwgDQogICAgICAgICAgICB0b3RhbF91c2QgPSBzdW0odXNkX3RvdGFsLCBuYS5ybSA9IFRSVUUpKSAlPiUgDQogIHVuZ3JvdXAoKSAlPiUgDQogIG11dGF0ZShgJV9iZW5lZmljaWFyaWVzYCA9IA0KICAgICAgICAgICByb3VuZChiZW5lZmljaWFyaWVzIC8gc3VtKGJlbmVmaWNpYXJpZXMsIG5hLnJtID0gVFJVRSkgKiAxMDAsIGRpZ2l0cyA9IDIpKSAlPiUNCiAgYWRvcm5fdG90YWxzKCJyb3ciLCwsLCBob3VzZWhvbGRzLCBiZW5lZmljaWFyaWVzLCB0b3RhbF91c2QsIGAlX2JlbmVmaWNpYXJpZXNgKSAlPiUgDQogIG11dGF0ZShgJV9iZW5lZmljaWFyaWVzYCA9IGlmZWxzZShgJV9iZW5lZmljaWFyaWVzYCA+IDk5Ljk4LCAxMDAsIGAlX2JlbmVmaWNpYXJpZXNgKSkgJT4lIA0KICBmbGV4dGFibGUoKSAlPiUgDQogIHNldF9jYXB0aW9uKCIzMDgsNDY3IHBlb3BsZSByZWFjaGVkLCBVU0QgOS40IG1pbGxpb24gZGlzYnVyc2VkLCAyMDIzMDMxNyIpICU+JSANCiAgdGhlbWVfemVicmEoKQ0KICANCiAgDQpgYGANCg0KPGJyPjxicj48YnI+DQoNCiMgMi4gTWFwIG9mIE1QQyBiZW5lZmljaWFyaWVzIGFuZCBjb2xsZWN0aXZlL3JlY2VwdGlvbiBjZW50cmVzDQoNCkFzIG9mIGByIGZvcm1hdChTeXMudGltZSgpLCAiJUIgJWQgJVkiKWAsIGEgdG90YWwgb2YgYHIgZnNsICU+JSBmaWx0ZXIoYWN0aXZpdHkgPT0gIkNhc2ggUmVzcG9uc2UiICYgcGxhbm5lZF9pbXBsZW1lbnRlZCA9PSAiSW1wbGVtZW50ZWQiKSAlPiUge3N1bSguJGJlbmVmaWNpYXJpZXMpfSAlPiUgZm9ybWF0KGJpZy5tYXJrID0gIiwiKWAgcGVyc29ucyBvciBgciBmc2wgJT4lIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSB7c3VtKC4kZmFtaWxpZXMpfSAlPiUgZm9ybWF0KGJpZy5tYXJrID0gIiwiKWAgZmFtaWxpZXMgaGF2ZSBiZWVuIHJlYWNoZWQgYnkgTVBDIGludGVydmVudGlvbnMuIA0KDQpBIHRvdGFsIG9mIFVTRCBgciBmc2wgJT4lIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSBtdXRhdGUodXNkX3RvdGFsID0gZmFtaWxpZXMgKiBxdWFudGl0eSkgJT4lICB7c3VtKC4kdXNkX3RvdGFsKX0gJT4lIGZvcm1hdChiaWcubWFyayA9ICIsIilgIGhhcyBiZWVuIGRpc2J1cnNlZCBieSBgciBmc2wgJT4lIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSBzdW1tYXJpc2Uobl9kaXN0aW5jdChwYXJ0bmVyX2NvZGUpKSAlPiUgcHVsbCgpYCBpbXBsZW1lbnRpbmcgYWdlbmNpZXMgYWNyb3NzIGByIGZzbCAlPiUgZmlsdGVyKGFjdGl2aXR5ID09ICJDYXNoIFJlc3BvbnNlIiAmIHBsYW5uZWRfaW1wbGVtZW50ZWQgPT0gIkltcGxlbWVudGVkIikgJT4lIHN1bW1hcmlzZShuX2Rpc3RpbmN0KGFkbWluM3Bjb2RlKSkgJT4lIHB1bGwoKWAgc3ViLWRpc3RyaWN0cy4gDQoNCk9ubHkgYmVuZWZpY2lhcmllcyB3aG8gaGF2ZSByZWNlaXZlZCBhdCBsZWFzdCBVU0QgMTAwL2ZhbWlseS9tb250aCBoYXZlIGJlZW4gaW5jbHVkZWQuIEFkZGl0aW9uYWxseSwgY3VycmVudCBhY2hpZXZlbWVudCByZXBvcnRpbmcgaGFzIHlldCB0byBpbmNsdWRlIHRoZSBjb2xsZWN0aXZlIHNpdGVzLCBvbmx5IGluZm9ybWF0aW9uIG9uIGNvbW11bml0aWVzLCBzbyBpdCBpcyBub3QgY2xlYXIgdG8gd2hhdCBleHRlbnQgbmVlZHMgaGF2ZSBiZWVuIG1ldCBpbiB0aGVzZSBjZW50cmVzLiBUaGlzIHdpbGwgYmUgY29ycmVjdGVkIGluIHJldmlzZWQgNFcgdGVtcGxhdGUuIA0KDQoNCjxicj4NCg0KDQpgYGB7ciBwbG90bHktc2l0ZXN9DQoNCnNpdGVfbWFwIDwtIHNpdGVzX2xvY2F0aW9uc19mc2wgJT4lIA0KICBsZWZ0X2pvaW4obG9jYXRpb25zICU+JSBzZWxlY3QoYWRtaW4zcGNvZGUsIGFkbWluNHBjb2RlKSwgDQogICAgICAgICAgICBieSA9ICJhZG1pbjRwY29kZSIpICU+JQ0KICByaWdodF9qb2luKHBjb2RlM19zaGFwZSwgDQogICAgICAgICAgICAgYnkgPSBjKCJhZG1pbjNwY29kZSIgPSAiQURNM19QQ09ERSIpKSAlPiUgDQogIGZpbHRlcihBRE0xX1BDT0RFICVpbiUgYygiU1kwMiIsICJTWTA3IikpICU+JSANCiAgc3RfYXNfc2YoKSAlPiUgDQogIG11dGF0ZSh0eXBlID0gZmN0X3JlbGV2ZWwodHlwZSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiUkMvSURQIiwgIkJlbmVmaWNpYXJpZXMiKSkpICU+JSANCiAgZ2dwbG90KCkgKyANCiAgZ2VvbV9zZihzaXplID0gMC4xLCBjb2xvdXIgPSAiZ3JleTcwIikgKw0KICBnZW9tX3BvaW50KGFlcyhzaXplID0gcGVyc29ucywgDQogICAgICAgICAgICAgICAgICBjb2xvdXIgPSB0eXBlLA0KICAgICAgICAgICAgICAgICAgeCA9IGxvbmdpdHVkZV94LCB5ID0gbGF0aXR1ZGVfeSwNCiAgICAgICAgICAgICAgICAgIHRleHQgPSBwYXN0ZTAoInN1Yl9kaXN0cmljdDogIiwgc3ViX2Rpc3RyaWN0LCAiXG4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2l0ZTogIiwgc2l0ZV9uYW1lLCAiXG4iLCAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwZXJzb25zOiAiLCBwZXJzb25zLCAiXG4iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGU6ICIsIHR5cGUsICJcbiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9uX3g6ICIsIGxvbmdpdHVkZV94LCAiXG4iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhdF95OiAiLCBsYXRpdHVkZV95KSksIA0KICAgICAgICAgICAgIHNoYXBlID0gMjEsIHN0cm9rZSA9IC41DQogICAgICAgICAgICAgIyBBZGp1c3RpbmcgYWxwaGEgd29uJ3QgYWZmZWN0IGEgcGxvdGx5DQogICAgICAgICAgICAgKSArDQogIHNjYWxlX3NpemVfY29udGludW91cyhsYWJlbHMgPSBjb21tYSkgKw0KICB0aGVtZV92b2lkKCkgKyANCiAgdGhlbWUocGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAid2hpdGUiLCBjb2xvdXIgPSBOQSksIA0KICAgICAgICBwbG90LmNhcHRpb24gPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpLCANCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKSArDQogIGxhYnModGl0bGUgPSAiQ29sbGVjdGl2ZS9yZWNlcHRpb24gY2VudHJlcyBhbmQgTVBDIGJlbmVmaWNpYXJpZXMiLCANCiAgICAgICBzdWJ0aXRsZSA9ICJJRFBzIGluIHJlZCwgYmVuZWZpY2lhcmllcyBpbiBibHVlLCBzaXplIHNob3dzIG51bWJlciBvZiBwZXJzb25zIikNCg0KZ2dwbG90bHkoc2l0ZV9tYXAsIHRvb2x0aXAgPSBjKCJ0ZXh0IikpICU+JSANCiAgcGxvdGx5OjpzdHlsZShob3Zlcm9uID0gInBvaW50IikgJT4lIA0KICBsYXlvdXQodGl0bGUgPSBsaXN0KHRleHQgPSBwYXN0ZTAoIkNvbGxlY3RpdmUgY2VudHJlcyBhbmQgY2FzaCByZXNwb25zZSBiZW5lZmljaWFyaWVzIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPGJyPiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzdXA+IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSURQcyBpbiByZWQsIGJlbmVmaWNpYXJpZXMgaW4gYmx1ZSwgc2l6ZSBzaG93cyBudW1iZXIgb2YgcGVyc29uczsgY2xpY2sgYW5kIGRyYWcgdG8gem9vbTsgbW91c2Ugb3ZlciBmb3IgZGV0YWlscyIpKSkgDQoNCiMgV2lsbCB0aGlzIHdvcms/IA0KIyAlPiUgcGFydGlhbF9idW5kbGUoKQ0KYGBgDQoNCg0KRGF0YSBvbiBjYXNoIHJlc3BvbnNlIGV4dHJhY3RlZCBmcm9tIFtGU0wgZWFydGhxdWFrZSB0cmFja2VyXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC8xS0dxdC0zWURoMms4cU5Da3NPSkFuZFJQTzU2R3E2cEdzNmVzRVF0SUZJdy9lZGl0I2dpZD0xODkwOTgxMTE1KSBvbiBgciBmb3JtYXQoU3lzLnRpbWUoKSwgIiVCICVkICVZIilgLiBEYXRhIG9uIGNvbGxlY3RpdmUgY2VudHJlcyBleHRyYWN0ZWQgZnJvbSBNYXJjaCAxNSAyMDIzLiANCg0KPGJyPjxicj4NCg0KDQojIyMgMi4xIEdlb2dyYXBoaWMgYnJlYWtkb3duIG9mIGJlbmVmaWNpYXJpZXMNCg0KYGBge3J9DQpmc2wgJT4lIA0KICBmaWx0ZXIoYWN0aXZpdHkgPT0gIkNhc2ggUmVzcG9uc2UiICYgcGxhbm5lZF9pbXBsZW1lbnRlZCA9PSAiSW1wbGVtZW50ZWQiKSAlPiUgDQogIG11dGF0ZShnb3Zlcm5vcmF0ZSA9IGlmZWxzZShnb3Zlcm5vcmF0ZSA9PSAiaWRsZWIiLCAiSWRsZWIiLCBnb3Zlcm5vcmF0ZSksDQogICAgICAgICBkaXN0cmljdCA9IGlmZWxzZShkaXN0cmljdCA9PSAiaWRsZWIiLCAiSWRsZWIiLCBkaXN0cmljdCkpICU+JSANCiAgZ3JvdXBfYnkoZ292ZXJub3JhdGUsIGRpc3RyaWN0KSAlPiUgDQogIHN1bW1hcmlzZShiZW5lZmljaWFyaWVzID0gc3VtKGJlbmVmaWNpYXJpZXMsIG5hLnJtID0gVFJVRSkpICU+JSANCiAgbXV0YXRlKGRpc3RyaWN0ID0gZmN0X3Jlb3JkZXIoZGlzdHJpY3QsIGJlbmVmaWNpYXJpZXMpLCANCiAgICAgICAgIGdvdmVybm9yYXRlID0gZmN0X3JlbGV2ZWwoZ292ZXJub3JhdGUsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjKCJJZGxpYiIsICJBbGVwcG8iKSkpICU+JSANCiAgZ2dwbG90KGFlcyh4ID0gYmVuZWZpY2lhcmllcywgeSA9IGRpc3RyaWN0KSkgKyANCiAgZ2VvbV9jb2woYWVzKGZpbGwgPSBnb3Zlcm5vcmF0ZSkpICsgDQogIGdlb21fdGV4dChhZXMobGFiZWwgPSBjb21tYShiZW5lZmljaWFyaWVzKSksIA0KICAgICAgICAgICAgaGp1c3QgPSAiaW53YXJkIikgKyANCiAgc2NhbGVfZmlsbF92aXJpZGlzX2QoYmVnaW4gPSAuMykgKyANCiAgbGFicyh0aXRsZSA9ICJNUEMgYmVuZWZpY2lhcmllcyBieSBkaXN0cmljdCIsIA0KICAgICAgIHN1YnRpdGxlID0gImFzIG9mIDE1IE1hcmNoIDIwMjMiKSArIA0KICBzY2FsZV94X2NvbnRpbnVvdXMobGFiZWxzID0gY29tbWEpDQpgYGANCg0KPGJyPjxicj4NCg0KIyMjIDIuMiBVTkhDUiBzaXRlIHRyYWNrZXIgLS0gc2VhcmNoYWJsZSB0YWJsZQ0KDQpgYGB7ciBkdH0NCnNpdGVzICU+JSANCiAgc2VsZWN0KGdvdmVybm9yYXRlLCANCiAgICAgICAgIGRpc3RyaWN0LCANCiAgICAgICAgIHN1Yl9kaXN0cmljdCwgDQogICAgICAgICBjb21tdW5pdHksIA0KICAgICAgICAgc2l0ZV9uYW1lLCANCiAgICAgICAgIGxvbmdpdHVkZV94LA0KICAgICAgICAgbGF0aXR1ZGVfeSwgDQogICAgICAgICBmYW1pbGllcywgDQogICAgICAgICBpbmRpdmlkdWFscywgDQogICAgICAgICBmb2NhbF9wb2ludCA9IG9yZ2FuaXphdGlvbl9uYW1lLCANCiAgICAgICAgIGZvY2FsX2NvbnRhY3QgPSBwaG9uZSkgJT4lIA0KICBkYXRhdGFibGUob3B0aW9ucyA9IGxpc3QocGFnZUxlbmd0aCA9IDEwLCBzY3JvbGxYID0gVFJVRSksIA0KICAgICAgICAgICAgZmlsdGVyID0gbGlzdChwb3NpdGlvbiA9ICJ0b3AiLCBjbGVhciA9IEZBTFNFKSwNCiAgICAgICAgICAgIGNhcHRpb24gPSBodG1sdG9vbHM6OnRhZ3MkY2FwdGlvbihzdHlsZSA9ICdjYXB0aW9uLXNpZGU6IHRvcDsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZToxMjAlIDsnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlZmVyZW5jZSB0YWJsZSAtLSBDb2xsZWN0aXZlIHNpdGVzLCBtYWludGFpbmVkIGJ5IFVOSENSIikpICU+JSANCiAgZm9ybWF0U3R5bGUoMCwgdGFyZ2V0ID0gInJvdyIsIGxpbmVIZWlnaHQgPSAiODAlIiwgZm9udFNpemUgPSAiODAlIikNCiAgDQpgYGANCg0KDQo8YnI+PGJyPjxicj4NCg0KDQojIDMuIENhc2ggcmVzcG9uc2UgYWN0b3JzDQoNCkluIHRoZSBzY2F0dGVycGxvdCBiZWxvdywgZWFjaCBwb2ludCBpcyBhIHNpbmdsZSBjYXNoIHdvcmtpbmcgZ3JvdXAgcGFydG5lci4gVGhlIHgtYXhpcyBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBiZW5lZmljaWFyaWVzIHJlYWNoZWQgcGVyIGFnZW5jeSBhbmQgdGhlIHktYXhpcyBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBjb21tdW5pdGllcyAoYWRtaW40KSByZWFjaGVkLiANCg0KRnJvbSB0aGUgc2NhdHRlcnBsb3QsIHdlIG1heSBzcGxpdCBwYXJ0bmVycyBpbnRvIHR3byBncm91cHMgLS0gdGhvc2Ugd2l0aCBiZWxvdyAxMCwwMDAgYmVuZWZpY2lhcmllcyBhbmQgdGhvc2Ugd2l0aCBtb3JlIA0KDQpgYGB7ciB0b3RhbHMsIGV2YWwgPSBGQUxTRX0NCg0KZnNsICU+JSANCiAgZmlsdGVyKGFjdGl2aXR5ID09ICJDYXNoIFJlc3BvbnNlIiAmIHBsYW5uZWRfaW1wbGVtZW50ZWQgPT0gIkltcGxlbWVudGVkIikgJT4lIA0KICBtdXRhdGUodXNkX3RvdGFsID0gZmFtaWxpZXMgKiBxdWFudGl0eSkgJT4lIA0KICBzdW1tYXJpc2UoYmVuZWZpY2lhcmllcyA9IHN1bShiZW5lZmljaWFyaWVzLCBuYS5ybSA9IFRSVUUpLCANCiAgICAgICAgICAgIHVzZF90b3RhbCA9IHN1bSh1c2RfdG90YWwsIG5hLnJtID0gVFJVRSkpDQoNCmBgYA0KDQoNCjxicj48YnI+DQoNCiMjIyAzLjEgQmVuZWZpY2lhcmllcyBhbmQgZ2VvZ3JhcGhpYyByZWFjaA0KDQpgYGB7ciBwYXJ0bmVyLXNjYXR0ZXJ9DQpwYXJ0bmVyX3NjYXR0ZXIgPC0gZnNsICU+JSANCiAgIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSANCiAgZ3JvdXBfYnkocGFydG5lcl9jb2RlLCANCiAgICAgICAgICAgYWRtaW4ycGNvZGUsIA0KICAgICAgICAgICBhZG1pbjRwY29kZSkgJT4lIA0KICBzbGljZSh3aGljaC5tYXgoYmVuZWZpY2lhcmllcykpICU+JSANCiAgdW5ncm91cCgpICU+JSANCiAgZ3JvdXBfYnkocGFydG5lcl9jb2RlKSAlPiUgDQogIHN1bW1hcmlzZShiZW5lZmljaWFyaWVzID0gc3VtKGJlbmVmaWNpYXJpZXMsIG5hLnJtID0gVFJVRSksIA0KICAgICAgICAgICAgY29tbXVuaXRpZXMgPSBuX2Rpc3RpbmN0KGFkbWluNHBjb2RlKSkgJT4lIA0KICBnZ3Bsb3QoYWVzKHggPSBiZW5lZmljaWFyaWVzLCB5ID0gY29tbXVuaXRpZXMpKSArDQogIGdlb21fcG9pbnQoYWVzKHNpemUgPSBiZW5lZmljaWFyaWVzLCANCiAgICAgICAgICAgICAgICAgdGV4dCA9IHBhc3RlMChwYXJ0bmVyX2NvZGUsICJcbiIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZW5lZmljaWFyaWVzOiAiLCBmb3JtYXQoYmVuZWZpY2lhcmllcywgYmlnLm1hcmsgPSAiLCIpLCAiXG4iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tbXVuaXRpZXM6ICIsIGNvbW11bml0aWVzKSkpICsgDQogIHNjYWxlX3hfbG9nMTAobGFiZWxzID0gY29tbWEpICsgDQogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikgKyANCiAgbGFicyh4ID0gIkJlbmVmaWNpYXJpZXMgcmVhY2hlZCIsIA0KICAgICAgIHkgPSAiQ29tbXVuaXRpZXMgKGFkbWluNCkgcmVhY2hlZCIsIA0KICAgICAgIHRpdGxlID0gIkltcGxlbWVudGluZyBwYXJ0bmVycyAtLSBiZW5lZmljaWFyaWVzIGFuZCBjb21tdW5pdGllcyByZWFjaGVkIikNCg0KZ2dwbG90bHkocGFydG5lcl9zY2F0dGVyLCB0b29sdGlwID0gYygidGV4dCIpKSAlPiUgDQogIGxheW91dChzaG93bGVnZW5kID0gVFJVRSwgbGVnZW5kID0gbGlzdChmb250ID0gKGxpc3Qoc2l6ZSA9IDYpKSkpICU+JSANCiAgcGxvdGx5OjpzdHlsZShob3Zlcm9uID0gInBvaW50IikgJT4lIA0KICBsYXlvdXQodGl0bGUgPSBsaXN0KHRleHQgPSBwYXN0ZTAoIkJlbmVmaWNpYXJpZXMgYW5kIGNvbW11bml0aWVzIHJlYWNoZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxicj4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzdXA+IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYXNoIHJlc3BvbnNlIGltcGxlbWVudGluZyBwYXJ0bmVycyIsIjwvc3VwPiIpKSkNCg0KDQpgYGANCg0KPGJyPjxicj4NCg0KIyMjIDMuMiBSZWFjaCBhbmQgZm9vdHByaW50IG9mIGNhc2ggcmVzcG9uc2UgYWN0b3JzDQoNCmBgYHtyfQ0Kc3RhY2tfdGV4dCA8LSBmc2wgJT4lIA0KICBmaWx0ZXIoYWN0aXZpdHkgPT0gIkNhc2ggUmVzcG9uc2UiICYgcGxhbm5lZF9pbXBsZW1lbnRlZCA9PSAiSW1wbGVtZW50ZWQiKSAlPiUgDQogIGdyb3VwX2J5KGRpc3RyaWN0KSAlPiUgDQogIHN1bW1hcmlzZSh0b3RhbCA9IHN1bShiZW5lZmljaWFyaWVzLCBuYS5ybSA9IFRSVUUpKSAlPiUgDQogIG11dGF0ZShkaXN0cmljdCA9IGZjdF9yZWxldmVsKGRpc3RyaWN0LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiQWZyaW4iLCAiQWwgQmFiIiwgIkEnemF6IiwgIkphcmFibHVzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSmViZWwgU2FtYW4iLCAiSGFyaW0iLCAiSWRsZWIiLCAiSmlzci1Bc2gtU2h1Z3VyIikpKQ0KDQpzdGFjayA8LSBmc2wgJT4lIA0KICBmaWx0ZXIoYWN0aXZpdHkgPT0gIkNhc2ggUmVzcG9uc2UiICYgcGxhbm5lZF9pbXBsZW1lbnRlZCA9PSAiSW1wbGVtZW50ZWQiKSAlPiUgDQogIGdyb3VwX2J5KGRpc3RyaWN0LCBwYXJ0bmVyX2NvZGUpICU+JSANCiAgc3VtbWFyaXNlKGJlbmVmaWNpYXJpZXMgPSBzdW0oYmVuZWZpY2lhcmllcywgbmEucm0gPSBUUlVFKSkgJT4lIA0KICBtdXRhdGUoZGlzdHJpY3QgPSBmY3RfcmVsZXZlbChkaXN0cmljdCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMoIkFmcmluIiwgIkFsIEJhYiIsICJBJ3pheiIsICJKYXJhYmx1cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkplYmVsIFNhbWFuIiwgIkhhcmltIiwgIklkbGViIiwgIkppc3ItQXNoLVNodWd1ciIpKSkgJT4lIA0KICBnZ3Bsb3QoYWVzKHggPSBkaXN0cmljdCwgDQogICAgICAgICAgICAgeSA9IGJlbmVmaWNpYXJpZXMpKSArDQogIGdlb21fY29sKGFlcyhmaWxsID0gcGFydG5lcl9jb2RlKSkgKyANCiAgZ2VvbV90ZXh0KGRhdGEgPSBzdGFja190ZXh0LCANCiAgICAgICAgICAgIGFlcyh5ID0gdG90YWwgKyA2MDAwLCANCiAgICAgICAgICAgICAgICBsYWJlbCA9IHNjYWxlczo6Y29tbWEodG90YWwpKSkgKyANCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IGNvbW1hKSArIA0KICBsYWJzKHggPSAiIiwgDQogICAgICAgeSA9ICJCZW5lZmljaWFyaWVzIiwgDQogICAgICAgdGl0bGUgPSAiUGFydG5lciBhY2hpZXZlbWVudHMgYnkgZGlzdHJpY3QsIDIwMjMwMzE3IikgKyANCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKQ0KDQpnZ3Bsb3RseShzdGFjaywgdG9vbHRpcCA9IGMoImZpbGwiLCAieCIsICJ5IikpICU+JSANCiAgbGF5b3V0KHRpdGxlID0gbGlzdCh0ZXh0ID0gcGFzdGUwKCJQYXJ0bmVyIGFjaGlldmVtZW50cyBieSBkaXN0cmljdCwgMjAyMzAzMTciLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8YnI+IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPHN1cD4iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNb3VzZSBvdmVyIGZvciBkZXRhaWxzIikpKQ0KDQpgYGANCg0KPGJyPg0KDQpVU0QgYHIgZnNsICU+JSBmaWx0ZXIoYWN0aXZpdHkgPT0gIkNhc2ggUmVzcG9uc2UiICYgcGxhbm5lZF9pbXBsZW1lbnRlZCA9PSAiSW1wbGVtZW50ZWQiKSAlPiUgbXV0YXRlKHVzZF90b3RhbCA9IGZhbWlsaWVzICogcXVhbnRpdHkpICU+JSB7c3VtKC4kdXNkX3RvdGFsKX0gJT4lIGZvcm1hdChiaWcubWFyayA9ICIsIilgIGhhcyBiZWVuIGRpc3RyaWJ1dGVkIGFjcm9zcyBgciBmc2wgJT4lIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSB7bl9kaXN0aW5jdCguJGFkbWluNHBjb2RlKX1gIGNvbW11bml0aWVzIGFuZCBgciBmc2wgJT4lIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSB7bl9kaXN0aW5jdCguJGFkbWluM3Bjb2RlKX1gIHN1Yi1kaXN0cmljdHMgaW4gTlcgU3lyaWEuIA0KPGJyPg0KDQpgYGB7cn0NCmZzbCAlPiUgDQogIGZpbHRlcihhY3Rpdml0eSA9PSAiQ2FzaCBSZXNwb25zZSIgJiBwbGFubmVkX2ltcGxlbWVudGVkID09ICJJbXBsZW1lbnRlZCIpICU+JSANCiAgZ3JvdXBfYnkocGFydG5lcl9jb2RlLCANCiAgICAgICAgICAgYWRtaW4ycGNvZGUsIA0KICAgICAgICAgICBhZG1pbjRwY29kZSkgJT4lIA0KICBzbGljZSh3aGljaC5tYXgoYmVuZWZpY2lhcmllcykpICU+JSANCiAgdW5ncm91cCgpICU+JSANCiAgZ3JvdXBfYnkocGFydG5lcl9jb2RlKSAlPiUgDQogIHN1bW1hcmlzZShiZW5lZmljaWFyaWVzID0gc3VtKGJlbmVmaWNpYXJpZXMsIG5hLnJtID0gVFJVRSksIA0KICAgICAgICAgICAgZGlzdHJpY3RzID0gbl9kaXN0aW5jdChhZG1pbjJwY29kZSksIA0KICAgICAgICAgICAgY29tbXVuaXRpZXMgPSBuX2Rpc3RpbmN0KGFkbWluNHBjb2RlKSkgJT4lIA0KICBhcnJhbmdlKGRlc2MoYmVuZWZpY2lhcmllcykpICU+JSANCiAgZmxleHRhYmxlKCkgJT4lIA0KICBzZXRfY2FwdGlvbigiUmVhY2ggYW5kIGZvb3RwcmludCBvZiBjYXNoIHJlc3BvbnNlIGFjdG9ycyIpICU+JSANCiAgdGhlbWVfemVicmEoKSAlPiUgDQogIHNldF90YWJsZV9wcm9wZXJ0aWVzKGxheW91dCA9ICJhdXRvZml0Iiwgd2lkdGggPSAuOCkgJT4lIA0KICBmb290bm90ZShhc19wYXJhZ3JhcGgoIk9ubHkgcGFydG5lcnMgd2hvIHByb3ZpZGVkIG1vcmUgdGhhbiBVU0QgMTAwL2ZhbWlseS9tb250aCIpLCANCiAgICAgICAgICAgaSA9IDEsIGogPSAxLCBwYXJ0ID0gImhlYWRlciIpDQogIA0KYGBgDQoNCg0KDQo8YnI+PGJyPg0KDQoNCg0KDQojIyMgMy4zIFVTRCBkaXNidXJzZWQgYnkgcGFydG5lcg0KDQoNCmBgYHtyfQ0KZnNsICU+JSANCiAgZmlsdGVyKGFjdGl2aXR5ID09ICJDYXNoIFJlc3BvbnNlIiAmIHBsYW5uZWRfaW1wbGVtZW50ZWQgPT0gIkltcGxlbWVudGVkIikgJT4lIA0KICBtdXRhdGUodXNkX3RvdGFsID0gZmFtaWxpZXMgKiBxdWFudGl0eSkgJT4lIA0KICBncm91cF9ieShwYXJ0bmVyX2NvZGUpICU+JSANCiAgc3VtbWFyaXNlKHVzZF90b3RhbCA9IHN1bSh1c2RfdG90YWwsIG5hLnJtID0gVFJVRSksIA0KICAgICAgICAgICAgZmFtaWxpZXMgPSBzdW0oZmFtaWxpZXMsIG5hLnJtID0gVFJVRSkpICU+JSANCiAgbXV0YXRlKHVzZF9wZXJfZmFtID0gcm91bmQodXNkX3RvdGFsIC8gZmFtaWxpZXMsIGRpZ2l0cyA9IDIpLCANCiAgICAgICAgIGAlX3VzZF90b3RhbGAgPSByb3VuZCh1c2RfdG90YWwgLyBzdW0odXNkX3RvdGFsKSAqIDEwMCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0cyA9IDIpKSAlPiUNCiAgYXJyYW5nZShkZXNjKHVzZF90b3RhbCkpICU+JSANCiAgZmxleHRhYmxlKCkgJT4lIA0KICBzZXRfY2FwdGlvbigiVVNEIGRpc2J1cnNlZCBhbmQgZmFtaWxpZXMgcmVhY2hlZCBieSBwYXJ0bmVyIikgJT4lIA0KICB0aGVtZV96ZWJyYSgpICU+JSANCiAgZmxleHRhYmxlOjpzZXRfdGFibGVfcHJvcGVydGllcyhsYXlvdXQgPSAiYXV0b2ZpdCIsIHdpZHRoID0gLjgpDQpgYGANCg0KPGJyPg0KDQoNCg0KDQoNCg0K